Database tables are widely used in the operations of applications, such as business applications. The database tables often need to be revised to accommodate different data types in their fields and/or to add new fields. For example, currency fields may need to be lengthened to accommodate inflation. Material and order number fields may need to be lengthened to accommodate transaction counts that evolve from thousands to millions.
In some cases, it may prove difficult to extend the length of a field type. For example, the character data type “NUMC” is only filled with numbers; the numbers are right aligned and the field is filled with “0” characters from the left side. In some instances, it may be necessary to copy the complete table to a new version of the table in order to incorporate a longer field for the cited data type, and to transfer the data using an application level program. In the case of the “NUMC” data type, the program reads the old value, creates a new value which is filled with “0” characters from the left side, and the old value is appended to make the new number right aligned again and filled with the appropriate number of “0” characters from the left side. Thus, extending data types may lead to a “conversion” procedure which creates a new table, copies the data to the new table, and replaces the old table with the new table. The copying of the table may require additional memory (potentially equal to or greater than the size of the table) and may result in prevention of access to the table (i.e., downtime) since write access during the revision process may not be possible.